# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

XPIDL_SOURCES += [
    'nsIHangReport.idl',
]

XPIDL_MODULE = 'dom'

EXPORTS.mozilla.dom.ipc += [
    'BlobChild.h',
    'BlobParent.h',
    'IdType.h',
    'nsIRemoteBlob.h',
    'StructuredCloneData.h',
]

EXPORTS.mozilla.dom += [
    'ContentBridgeChild.h',
    'ContentBridgeParent.h',
    'ContentChild.h',
    'ContentParent.h',
    'ContentProcess.h',
    'ContentProcessManager.h',
    'CPOWManagerGetter.h',
    'FilePickerParent.h',
    'nsIContentChild.h',
    'nsIContentParent.h',
    'PermissionMessageUtils.h',
    'TabChild.h',
    'TabContext.h',
    'TabMessageUtils.h',
    'TabParent.h',
]

EXPORTS.mozilla += [
    'AppProcessChecker.h',
    'PreallocatedProcessManager.h',
    'ProcessHangMonitor.h',
    'ProcessHangMonitorIPC.h',
    'ProcessPriorityManager.h',
]

SOURCES += [
    'AppProcessChecker.cpp',
    'Blob.cpp',
    'ColorPickerParent.cpp',
    'ContentBridgeChild.cpp',
    'ContentBridgeParent.cpp',
    'ContentChild.cpp',
    'ContentParent.cpp',
    'ContentProcess.cpp',
    'ContentProcessManager.cpp',
    'FilePickerParent.cpp',
    'nsIContentChild.cpp',
    'nsIContentParent.cpp',
    'PermissionMessageUtils.cpp',
    'PreallocatedProcessManager.cpp',
    'ProcessHangMonitor.cpp',
    'ProcessPriorityManager.cpp',
    'ScreenManagerParent.cpp',
    'StructuredCloneData.cpp',
    'TabChild.cpp',
    'TabContext.cpp',
    'TabMessageUtils.cpp',
    'TabParent.cpp',
]

IPDL_SOURCES += [
    'BlobTypes.ipdlh',
    'DOMTypes.ipdlh',
    'PBlob.ipdl',
    'PBlobStream.ipdl',
    'PBrowser.ipdl',
    'PBrowserOrId.ipdlh',
    'PColorPicker.ipdl',
    'PContent.ipdl',
    'PContentBridge.ipdl',
    'PContentPermission.ipdlh',
    'PContentPermissionRequest.ipdl',
    'PCycleCollectWithLogs.ipdl',
    'PFilePicker.ipdl',
    'PMemoryReportRequest.ipdl',
    'PPluginWidget.ipdl',
    'PProcessHangMonitor.ipdl',
    'PScreenManager.ipdl',
    'PTabContext.ipdlh',
    'ServiceWorkerConfiguration.ipdlh',
]

include('/ipc/chromium/chromium-config.mozbuild')

FINAL_LIBRARY = 'xul'

if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_TARGET'] == 'Darwin':
    USE_LIBS += [
        'mozsandbox',
    ]

LOCAL_INCLUDES += [
    '/caps',
    '/chrome',
    '/docshell/base',
    '/dom/base',
    '/dom/events',
    '/dom/filesystem',
    '/dom/geolocation',
    '/dom/media/webspeech/synth/ipc',
    '/dom/security',
    '/dom/storage',
    '/dom/workers',
    '/embedding/components/printingui/ipc',
    '/extensions/cookie',
    '/extensions/spellcheck/src',
    '/gfx/2d',
    '/hal/sandbox',
    '/layout/base',
    '/media/webrtc',
    '/netwerk/base',
    '/toolkit/xre',
    '/uriloader/exthandler',
    '/widget',
    '/xpcom/base',
    '/xpcom/threads',
]

if CONFIG['OS_ARCH'] != 'WINNT':
    LOCAL_INCLUDES += [
        '/modules/libjar',
    ]

DEFINES['BIN_SUFFIX'] = '"%s"' % CONFIG['BIN_SUFFIX']

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2'):
    DEFINES['MOZ_ENABLE_FREETYPE'] = True

if CONFIG['MOZ_TOOLKIT_SEARCH']:
    DEFINES['MOZ_TOOLKIT_SEARCH'] = True

JAR_MANIFESTS += ['jar.mn']

BROWSER_CHROME_MANIFESTS += ['tests/browser.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini']
MOCHITEST_MANIFESTS += ['tests/mochitest.ini']

CXXFLAGS += CONFIG['TK_CFLAGS']

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wno-error=shadow']
